home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD ROM Paradise Collection 4
/
CD ROM Paradise Collection 4 1995 Nov.iso
/
program
/
swagd_f.zip
/
EGAVGA.SWG
/
0091_Shading.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1994-01-27
|
1KB
|
90 lines
Program Shading;
Uses CRT;
Var
ColorNum, Y : Integer;
{--------------------------------------------------------------}
procedure setcolors;
var
Color : Byte;
A : Integer;
Begin
For A := 1 to 63 do
Begin
port[$3c8]:=A;
port[$3c9]:=1;
port[$3c9]:=1;
port[$3c9]:=A;
End;
end;
{----------------------------------------------------------------}
procedure horizontal_line (x1,x2,y : integer;color:byte);
Var
temp,Counter : Integer;
begin
IF X1 > X2 then
begin
Temp:=X1;
X1:=X2;
X2:=Temp;
End;
X1:=(y*320)+X1;
X2:=(y*320)+X2;
For Counter := X1 to X2 do
mem[$A000:Counter]:=color;
End;
{---------------------------------------------------------------}
Procedure Init13h; {Sets video to 320X200X256}
Begin
ASM
MOV AH,00
MOV AL,13h
int 10h
End;
End;
{----------------------------------------------------------------}
Procedure InitText; {Sets video to Textmode}
Begin
ASM
MOV AH,00
MOV AL,3
INT 10h
End;
End;
{--------------------------------------------------------------------------}
Begin {Main}
ColorNum:=1;
init13h;
Setcolors;
For Y:=1 to 63 do
Begin
Horizontal_Line(80,239,Y,Colornum);
ColorNum:=Colornum+1;
End;
For Y:=64 to 126 do
Begin
ColorNum:=ColorNum-1;
Horizontal_Line(80,239,Y,ColorNum);
End;
Readkey;
InitText;
End.